1935B - Informatics in MAC - CodeForces Solution


constructive algorithms

Please click on ads to support us..

Python Code:

for _ in range(int(input())):
    n=int(input())
    l=list(map(int,input().split()))
    d={}
    for ele in l:
        if(ele not in d):
            d[ele]=1
        else:
            d[ele]+=1
    mex=0
    for i in range(n+1):
        if(i not in d):
            mex=i
            break
    if(mex==0):
        print(2)
        print(1,1)
        print(2,n)
        continue
    d={}
    ans=[]
    left=0
    for i in range(n):
        if(l[i]<mex):
            d[l[i]]=1
        if(len(d)==mex):
            ans.append([left+1,i+1])
            left=i+1
            d={}
    ans[len(ans)-1][1]=n
    if(len(ans)<2):
        print(-1)
    else:
        print(len(ans))
        for val in ans:
            print(val[0],val[1])
        


Comments

Submit
0 Comments
More Questions

7A - Kalevitch and Chess
912B - New Year's Eve
1537C - Challenging Cliffs
879B - Table Tennis
1674E - Breaking the Wall
1282A - Temporarily unavailable
1366C - Palindromic Paths
336A - Vasily the Bear and Triangle
926A - 2-3-numbers
276D - Little Girl and Maximum XOR
1253C - Sweets Eating
1047A - Little C Loves 3 I
758D - Ability To Convert
733A - Grasshopper And the String
216A - Tiling with Hexagons
1351B - Square
1225A - Forgetting Things
1717A - Madoka and Strange Thoughts
1717B - Madoka and Underground Competitions
61B - Hard Work
959B - Mahmoud and Ehab and the message
802G - Fake News (easy)
1717C - Madoka and Formal Statement
420A - Start Up
1031A - Golden Plate
1559C - Mocha and Hiking
427B - Prison Transfer
330A - Cakeminator
426A - Sereja and Mugs
363A - Soroban